World Wide Web (“Web”) applications have been developed that allow the creation and editing of rich documents. For instance, Web applications are available for creating and editing word processing documents, spreadsheets, presentations, and other types of documents. These documents might also be created and edited in a compatible client application. For instance, a word processing client application might be executed on a desktop or laptop computer and utilized to create a word processing document. The word processing document might then be edited utilizing a suitable Web application.
One problem with current Web applications occurs when a user of the Web application edits a document simultaneously with the editing of the document by another user utilizing a client application. In this scenario, two versions of the document are generated. One version of the document contains the edits made using the Web application and a second version of the document contains the edits made using the client application. It can be difficult to reconcile the changes between the two versions of the document.
Another problem with current Web applications occurs when a client application, such as a Web browser application, becomes disconnected from a server hosting the Web application. In this scenario, it can be difficult to revert an edited document to its previous state when a connection is reestablished. Consequently, edits to a document can be lost when a disconnection occurs.
Other problems with current Web applications can occur because it can be difficult to migrate in-progress editing sessions between server computers. For instance, if a Web server that implements the Web application and hosts editing sessions becomes overloaded, it can be difficult to migrate in-progress editing sessions to another server to balance the load. Similarly, it can be difficult to upgrade the Web application on a server computer that has in-progress editing sessions.
It is with respect to these and other considerations that the disclosure made herein is presented.